1. Field of the Invention
This invention generally relates to network resource reservation system and, more particularly, to a network rerouting system for enabling continuous dynamic optimization of network connections anytime during call set-up and during the duration of the call for networks carrying data and, in particular, real-time data.
2. Description of the Prior Art
It is well known that modern packet, frame, or cell based telecommunications reservations protocols require the reservation of bandwidth in a network for a particular connection. Generally, this bandwidth is reserved at the time the call is set up. Based on the requested bandwidth, particular routes are chosen to form a connection over which the data will travel.
In certain instances, the most advantageous links may be congested at call set-up time or the requested bandwidth may not be available. This causes a reservation to be made on a route having links that are less than optimal. Furthermore, once the reservation is made, the reserved route may become sub-optimal at a later time, either before or after the call is made. Unfortunately, therefore, the most optimal routes become unavailable for use by the network.
Although rerouting algorithms for choosing alternate data routes for non real-time or non-isochronous data are known, they are used specifically in the instances of route failure and fall-back. In particular, rerouting is used in instances where the originally reserved route for some reason, such as a link failure, becomes unavailable and the connection must be rerouted onto an alternate route. These known rerouting algorithms cause each node in a network to be assigned to one or more predetermined alternate routes. However, the alternate routes are less optimal than the originally chosen route because they usually have less bandwidth or a greater number of nodes and hops than the initial route. Therefore, rerouting is also used in a fall-back mode wherein once the original route becomes available again, the connection is routed back to the original route. As mentioned above, however, route optimization for selecting a route more optimal than the original reserved route is not possible.
During any type of rerouting procedure, packet ordering issues must be dealt with. For example, when a call is rerouted because of a link failure, as mentioned above, the alternate route is a less optimal one. In particular, the original route may have only one intermediate node and two hops. In this case, the total travel time for the packet may only be eight milliseconds per hop and one millisecond at the intermediate node, for a total of seventeen milliseconds travel time. In contrast, the alternate route may have, for example, two intermediate nodes and three hops. In that case, the packet may take five milliseconds to travel the hop from the source node to the first intermediate node, seven milliseconds to travel from the first intermediate node to the second intermediate node, and another five milliseconds to travel from the second intermediate node to the end node. In addition, each of the intermediate nodes may require a one millisecond transmit time. Therefore, the total travel time for the packet would be nineteen milliseconds on the alternate route.
As can be seen, the exemplary alternate route may require two milliseconds longer travel time for each transmitted packet to reach the end node. Therefore, when the route is changed from the original route to the less optimal alternate route, the order of the packets will remain unchanged because the first packet being transmitted on the alternate slower route will reach at a time later than the last packet transmitted on the original faster route. Similarly, when a call is placed on a route having relatively low bandwidth, the data packets will reach the end node more slowly than when traveling on a route having greater bandwidth. Accordingly, no packet ordering problem will arise.
However, packet ordering may be a problem during fall-back. In particular, using the above example, if the original route is seventeen milliseconds long and the alternate route is nineteen milliseconds long, the last data packet transmitted on the slower route may reach the end node at a time after a later sent packet on the more optimal route reaches the end node. Because the later sent packet reaches the end node ahead of a prior sent packet, the packets become disordered.
Therefore, there is a need for a rerouting system wherein an alternate route for a communication network that is more optimal than the original reserved route may be dynamically chosen anytime both during call set-up and during the duration of the call. In addition, there is a need for a system wherein packet ordering problems are eliminated and route optimization through rerouting is enabled for real-time data.